package com.tulele.vtool.service;

import com.tulele.vtool.model.UserPromotionSettleInfo;
import com.tulele.vtool.model.combinedEntity.CombinedIncomeRankingList;

import java.util.List;

public interface IUserPromotionSettleInfoService {

    /**
     * 处理用户推广结算信息
     * @param userPromotionSettleInfo 需要结算的用户相关信息
     * @param userChargeAmount 儿子下线或者孙子下线的充值金额
     * @param settleLevel 结算级别 1 一级 2 二级 3 三级 4 四级 5 五级 6 佣金记录
     * @return
     */
    int processUserPromotionSettleInfo(UserPromotionSettleInfo userPromotionSettleInfo, double userChargeAmount, int settleLevel);

    /**
     * 获取用户推广结算信息
     * @param userId
     * @return
     */
    UserPromotionSettleInfo getUserPromotionSettleInfo(Integer userId);

    /**
     * 添加推广结算信息
     * @param userPromotionSettleInfo
     * @return
     */
    int addPromotionSettleInfo(UserPromotionSettleInfo userPromotionSettleInfo);

    /**
     * 获取收益排行榜
     * @param gzhCode 公众号标识
     * @return 收益排行榜
     */
    List<CombinedIncomeRankingList> getIncomeRankingList(String gzhCode);
}
